Method for calculating rotation center point and axis of rotation, method for generating program, method for moving manipulator and positioning device, and robotic system

ABSTRACT

Calculating a rotation center point on a plane of rotation of a positioning device by using a manipulator. The positioning device positions a workpiece by rotating the plane of rotation. The calculating includes a first step of obtaining location information of a predetermined position on the plane of rotation, a second step of rotating the plane of rotation of the positioning device 180 degrees, a third step of obtaining location information of the predetermined position on the 180-degree rotated plane of rotation, and a fourth step of calculating a point bisecting a straight line as the rotation center point of the plane of rotation of the positioning device from the location information obtained in the first step and the location information obtained in the third step, the straight line connecting the predetermined position of the first step and the predetermined position of the third step.

BACKGROUND OF THE INVENTION

1. Field of Invention

The present invention relates to a method for calculating at least oneof the rotation center point of a rotor and the axis of rotationconnecting between the rotation center points of two rotors by using amanipulator. The invention also relates to a method for generating aprogram, a method for moving a manipulator and a positioning device, anda robotic system.

2. Description of the Related Art

A well-known conventional method for calculating the rotation centerpoint of a rotor is carried out as follows. A mark is made on apredetermined position of the rotor and photographed before the rotor isrotated 180 degrees, and after the 180 degree rotation, the mark isphotographed again. The two locations of the mark are connected by aline and the center of the line is determined to be the center of therotor (refer to, for example, Patent Documents 1 and 2 below).

This conventional art, however, requires an external photographic deviceto photograph the mark on the rotor before and after the rotor isrotated, thereby complicating the system.

Furthermore, there has not been suggested any method for calculating arotation center point or an axis of rotation connecting the rotationcenter points of two rotors by using a manipulator.

-   Patent Document 1: Japanese Patent Unexamined Publication No.    2002-303592-   Patent Document 2: Japanese Patent Unexamined Publication No.    2005-019963

BRIEF SUMMARY OF THE INVENTION

The present invention is directed to provide a method for calculatingthe rotation center point of a rotor and the axis of rotation connectingthe rotation center points of two rotors without using an externaldevice such as a photographic device.

The method for calculating a rotation center point according to thepresent invention is a method for calculating a rotation center point ona plane of rotation of a positioning device by using a manipulator(specifically, using a top position of a tool attached to themanipulator), the positioning device positioning a workpiece by rotatingthe plane of rotation. This method includes: a first step of obtaininglocation information of a predetermined position on the plane ofrotation by using the manipulator, a second step of rotating the planeof rotation of the positioning device 180 degrees; a third step ofobtaining location information of the predetermined position on the180-degree rotated plane of rotation by using the manipulator; and afourth step of calculating a point bisecting a straight line as therotation center point of the plane of rotation of the positioning devicefrom the location information obtained in the first step and thelocation information obtained in the third step, the straight lineconnecting the predetermined position of the first step and thepredetermined position of the third step.

This method enables the calculation of the rotation center point of aplane of rotation by using a manipulator and a positioning device usedin the actual system. As a result, the rotation center point of therotor can be calculated without using a photographic device or otherexternal device.

The method for calculating an axis of rotation according to the presentinvention is a method for calculating an axis of rotation connectingbetween a rotation center point on a first plane of rotation of apositioning device and a rotation center point on a second plane ofrotation of the positioning device by using a manipulator, thepositioning device positioning a workpiece by rotating the first planeof rotation and the second plane of rotation which are disposed oppositeto each other. This method includes: a first step of obtaining locationinformation of a first measuring point on the first plane of rotation byusing the manipulator; a second step of rotating the first plane ofrotation of the positioning device 180 degrees; a third step ofobtaining location information of the first measuring point on the180-degree rotated first plane of rotation by using the manipulator; afourth step of calculating a point bisecting a straight line as therotation center point of the first plane of rotation from the locationinformation obtained in the first step and the location informationobtained in the third step, the straight line connecting the firstmeasuring point of the first step and the first measuring point of thethird step; a fifth step of obtaining location information of a secondmeasuring point on the second plane of rotation by using themanipulator; a sixth step of rotating the second plane of rotation 180degrees; a seventh step of obtaining location information of the secondmeasuring point on the 180-degree rotated second plane of rotation byusing the manipulator; an eighth step of calculating a point bisecting astraight line as the rotation center point of the second plane ofrotation from the location information obtained in the fifth step andthe location information obtained in the seventh step, the straight lineconnecting the second measuring point of the fifth step and the secondmeasuring point of the seventh step; and a ninth step of calculating anaxis of rotation connecting the rotation center point of the first planeof rotation and the rotation center point of the second plane ofrotation.

This method enables the calculation of the axis of rotation connectingthe rotation center point on a first plane of rotation and the rotationcenter point on a second plane of rotation of a positioning devicewithout using an external device by using a manipulator and apositioning device used in the actual system. The positioning devicepositions a workpiece by rotating the first plane of rotation and thesecond plane of rotation which are disposed opposite to each other.

Furthermore, the positioning device having two planes of rotationopposite to each other can calculate the axis of rotation with higherprecision by measuring the two planes of rotation than the axis ofrotation calculated by measuring only one plane of rotation.

The method for generating a program according to the present inventionis a method for generating a program for moving at least one of amanipulator and a positioning device, the positioning device positioninga workpiece by rotating a plane of rotation thereof. This methodincludes: a first step of comparing location information indicating arotation center point of the plane of rotation of the positioning devicecontained in the program with location information of the rotationcenter point of the plane of rotation of the positioning devicecalculated according to the method for calculating a rotation centerpoint of the present invention; and a second step of generating a newoperating program by correcting the program based on a comparison resultin the first step.

This method enables the generation of an operating program capable ofmoving the manipulator accurately because the location information ofthe rotation center point contained in the program can be corrected bythe location information of the rotation center point calculated by themethod for calculating a rotation center point according to the presentinvention.

The method for moving a manipulator and a positioning device accordingto the present invention is a method for moving at least one of amanipulator and a positioning device, the positioning device positioninga workpiece by rotating a plane of rotation thereof. This methodincludes: a step of moving at least one of the manipulator and thepositioning device, based on the operating program generated accordingto the method for generating a program of the present invention.

This method enables at least one of the manipulator and the positioningdevice to be moved accurately by using an operating program in which thelocation information of the rotation center point contained in theprogram is corrected by the location information of the rotation centerpoint calculated by the method for calculating a rotation center pointaccording to the present invention.

The robotic system according to the present invention is a roboticsystem for calculating a rotation center point on a plane of rotation ofa positioning device, the positioning device positioning a workpiece byrotating the plane of rotation. This robotic system includes: amanipulator; a motion controller for obtaining first locationinformation of a predetermined position on the plane of rotation byusing the manipulator, rotating the plane of rotation 180 degrees, andobtaining second location information of the predetermined position onthe 180-degree rotated plane of rotation by using the manipulator; and arotation center point calculator for calculating a position bisecting astraight line as the rotation center point of the plane of rotation byusing the first location information and the second location informationobtained by the motion controller, the straight line connecting thepredetermined position prior to the rotation of the plane of rotationand the predetermined position after the rotation of the plane ofrotation.

This structure enable the calculation of the rotation center point of arotor without using an external device such as a photographic devicebecause the rotation center point of a plane of rotation can becalculated by using a manipulator and a positioning device used in theactual system.

The robotic system according to the present invention is a roboticsystem for calculating an axis of rotation connecting a rotation centerpoint on a first plane of rotation of a positioning device and arotation center point on a second plane of rotation of the positioningdevice, the positioning device positioning a workpiece by rotating thefirst plane of rotation and the second plane of rotation which aredisposed opposite to each other. This robotic system includes: amanipulator; a motion controller for (i) obtaining first locationinformation of a first measuring point on the first plane of rotation byusing the manipulator, (ii) rotating the first plane of rotation 180degrees, (iii) obtaining second location information of the firstmeasuring point of the rotated first plane of rotation by using themanipulator, (iv) obtaining third location information of a secondmeasuring point on the second plane of rotation by using themanipulator, (v) rotating the second plane of rotation 180 degrees, and(vi) obtaining fourth location information of the second measuring pointof the rotated second plane of rotation by using the manipulator; and anaxis-of-rotation calculator for calculating (i) a point bisecting astraight line as the rotation center point of the first plane ofrotation by using the first location information and the second locationinformation obtained by the motion controller, the straight lineconnecting the first measuring point prior to the rotation of the firstplane of rotation and the first measuring point after the rotation ofthe first plane of rotation, (ii) a point bisecting a straight line asthe rotation center point of the second plane of rotation by using thethird location information and the fourth location information obtainedby the motion controller, the straight line connecting the secondmeasuring point prior to the rotation of the second plane of rotationand the second measuring point after the rotation of the second plane ofrotation, and (iii) an axis of rotation connecting the rotation centerpoint of the first plane of rotation and the rotation center point ofthe second plane of rotation.

This structure enables the calculation of the axis of rotation of arotor without using an external device such as a photographic device.This structure is achieved by using a manipulator and a positioningdevice used in the actual system when calculating the axis of rotationconnecting the rotation center point on a first plane of rotation andthe rotation center point on a second plane of rotation of thepositioning device positioning a workpiece by rotating the first and thesecond plane of rotation disposed opposite to each other.

Furthermore, the positioning device having two planes of rotationopposite to each other can calculate the axis of rotation with higherprecision by measuring the two planes of rotation than the axis ofrotation calculated by measuring only one plane of rotation.

The robotic system may further include a simulation calculator, thesimulation calculator performing at least one of simulation calculationand off-line teaching by using the position coordinate of the rotationcenter point of the plane of rotation of the positioning device, theposition coordinate having been calculated by the rotation center pointcalculator.

This structure enables the robotic system to perform simulationcalculation and off-line teaching with high precision by using theposition coordinate of the rotation center point calculated by therotation center point calculator.

The robotic system may include a robot controller having the motioncontroller and simulation equipment having the simulation calculator.

This structure enables the robot controller and the simulation equipmentto be independent of each other so as to achieve a practical structure.

The robot controller may include the rotation center point calculator.

This structure enables the rotation center point to be calculated by therobot controller, so that at least one of simulation calculation andoff-line teaching can be performed with high precision while improvingthe versatility of the simulation equipment.

The simulation equipment may include the rotation center pointcalculator.

This structure enables the rotation center point to be calculated by thesimulation equipment, so that at least one of simulation calculation andoff-line teaching can be performed with high precision even when therobot controller does not have the function for calculation.

As described hereinbefore, the present invention provides a method forcalculating the rotation center point of a rotor and the axis ofrotation connecting the rotation center points of two rotors withoutusing an external device such as a photographic device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a structure of a robotic system according to a firstembodiment of the present invention.

FIG. 2 is a schematic diagram showing a method for calculating therotation center point of the plane of rotation of a rotary positioner,which is an example of a positioning device according to the firstembodiment of the present invention.

FIG. 3 is a flowchart showing the steps of calculating the rotationcenter point of the plane of rotation of the rotary positioner by usinga robotic system according to the first embodiment of the presentinvention.

FIG. 4 is a schematic diagram showing a method for calculating an axisof rotation connecting the rotation center points of two opposite planesof rotation according to a second embodiment of the present invention.

FIG. 5 is a flowchart showing the operation for calculating the rotationcenter points of the planes of rotation of the rotary positioner and theoperation for calculating the axis of rotation connecting these rotationcenter points according to the second embodiment of the presentinvention.

FIG. 6 shows the structure of a robotic system according to a thirdembodiment of the present invention.

FIG. 7 shows the structure of a robotic system according to a fourthembodiment of the present invention.

FIG. 8 shows the structure of a robotic system according to a fifthembodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Embodiments of the present invention are described as follows withreference to drawings. Note that the present invention is not limited tothese embodiments.

First Embodiment

A first embodiment of the present invention is described as follows withreference to FIGS. 1 and 2. FIG. 1 shows a structure of robotic system400 according to the first embodiment. FIG. 2 is a schematic diagramshowing a method for calculating the rotation center point of the planeof rotation of a rotary positioner, which is an example of a positioningdevice according to the first embodiment.

As shown in FIG. 1, robotic system 400 includes manipulator 101 androbot controller 301, which controls manipulator 101.

Robot controller 301 includes measuring point storage 302, correctionamount calculator 303, correction amount storage 304, and motioncontroller 305. Measuring point storage 302 stores the locationinformation of a measuring point measured by moving manipulator 101.Correction amount calculator 303 calculates the amount of correction ofan operating program based on the location information stored inmeasuring point storage 302. Correction amount storage 304 stores theamount of correction calculated by correction amount calculator 303.Motion controller 305, which has the operating program to control themotion of manipulator 101, measures the location information by movingmanipulator 101. Motion controller 305 controls not only the motion ofmanipulator 101 but also the rotation of rotary positioner 102.

As shown in FIG. 2, manipulator 101 moves its arm 107 while holding tool105 by a hand, as an end effector or the like, so as to process aworkpiece.

Rotary positioner 102 is a positioning device for rotating plane ofrotation 106, thereby positioning the workpiece to be processed bymanipulator 101 (in FIG. 2, Y axis represents the axis of rotation ofplane of rotation 106, and plane of rotation 106 is located in thedirection of X-Z plane).

In the present embodiment, manipulator 101 is also used to measure thelocation of rotation center point 113 of plane of rotation 106 of rotarypositioner 102.

Manipulator 101 actually needs to have only one arm 107. However, twoarms 107 are illustrated in FIG. 2 in order to show the two postures(described later) necessary to measure the location of rotation centerpoint 113 using manipulator 101.

Similarly, only one mark 108 is actually needed on a predeterminedposition on plane of rotation 106 of rotary positioner 102. However, twomarks 108 are illustrated in FIG. 2 in order to clarify the statesbefore and after plane of rotation 106 is rotated 180 degrees.

The following is a description of the operation for calculating rotationcenter point 113 of plane of rotation 106 of rotary positioner 102 inrobotic system 400. FIG. 3 is a flowchart showing the steps ofcalculating the rotation center point of plane of rotation 106 of rotarypositioner 102 by using robotic system 400 according to the firstembodiment.

As shown in FIG. 3, plane of rotation 106 of rotary positioner 102 asthe target to be measured is set at an arbitrary rotation angle first,and then the tip (end portion) of tool 105 attached to manipulator 101is moved to reach mark 108 made in an arbitrary position (other than therotation center point) on plane of rotation 106 of rotary positioner 102(S2). The tip of tool 105 can be brought into contact with mark 108 tomeasure the location information of mark 108 more accurately.

The posture of manipulator 101 in Step S2 corresponds to first measuringposture 103 shown in FIG. 2. In this posture, tip position 111 of tool105 attached to manipulator 101 is on mark 108. Motion controller 305 ofrobot controller 301 measures the position coordinate of mark 108 (thefirst location information, which is more specifically the positioncoordinate of tip position 111 of tool 105) and stores it to measuringpoint storage 302 (S4).

Mark 108 can be provided, for example, by scribing or punching plane ofrotation 106, or by being marked on plane of rotation 106.

Next, plane of rotation 106 of rotary positioner 102, which is thetarget to be measured is rotated 180 degrees (S6).

Motion controller 305 controls manipulator 101 to move the tip of tool105 to the location where mark 108 is placed after the rotation (S8).

The posture of manipulator 101 in Step S8 corresponds to secondmeasuring posture 104 shown in FIG. 2. In this posture, tip position 112of tool 105 attached to manipulator 101 is on mark 108. Motioncontroller 305 of robot controller 301 measures the position coordinateof mark 108 (the second location information, which is more specificallythe position coordinate of tip position 112 of tool 105) and stores itto measuring point storage 302 (S10).

Then, correction amount calculator 303 in robot controller 301 works asa rotation center point calculator so as to calculate rotation centerpoint 113 of plane of rotation 106 as follows.

Correction amount calculator 303 calculates a point bisecting thefollowing straight line as rotation center point 113 of plane ofrotation 106 of rotary positioner 102. The straight line connects theposition coordinate of tip position 111 of tool 105 that has beenmeasured and stored in measuring point storage 302 in Step S4 and theposition coordinate of tip position 112 of tool 105 that has beenmeasured and stored in measuring point storage 302 in Step S10 (S12).Correction amount calculator 303 then stores the location information ofrotation center point 113 to correction amount storage 304.

As described hereinbefore, the method for calculating a rotation centerpoint according to the present embodiment does not need a detectiondevice such as a photographing means in order to calculate rotationcenter point 113 of plane of rotation 106 of rotary positioner 102.

In the case where it is necessary to correct the operation of roboticsystem 400, as shown by the dotted-line square in FIG. 3, correctionamount calculator 303 determines the amount of misalignment betweenrotation center point 113 of plane of rotation 106 of rotary positioner102, which has been measured as above and the rotation center point ofplane of rotation 106 of rotary positioner 102, which has beenpreviously provided to robot controller 301 (S14). Correction amountcalculator 303 then stores the amount of misalignment to correctionamount storage 304 (S16). Motion controller 305 uses the amount ofmisalignment stored in correction amount storage 304 to correct themotion of manipulator 101. The correction like this enables roboticsystem 400 to control manipulator 101 with higher precision.

The information related to the rotation center point of rotarypositioner 102 previously provided to robot controller 301 can be, forexample, the location information of the rotation center point of planeof rotation 106 of rotary positioner 102 in a control program, which isstored in motion controller 305 of robot controller 301 in order tocontrol manipulator 101 and the like.

The present embodiment has described an example in which the rotationcenter point of plane of rotation 106 is calculated by using mark 108.Alternatively, instead of using mark 108, it is possible to use as thetarget to be measured an arbitrary point on a jig or the like that isattached to and rotates together with plane of rotation 106 of rotarypositioner 102. The coordinate of the arbitrary point is measured beforeand after plane of rotation 106 is rotated so as to determine thecoordinate of the rotation center point of plane of rotation 106.

In the example of the present embodiment, manipulator 101 has a singlearm 107 and plane of rotation 106 has a single mark 108 thereon.However, the present invention is not limited to this example. It isalternatively possible that manipulator 101 has a plurality of arms 107,and the location of mark 108 before and after the rotation of plane ofrotation 106 is measured by these arms 107. It is also possible thatplane of rotation 106 has a plurality of marks 108 thereon, and thecoordinate of the rotation center point is calculated from thecoordinates of these marks so as to improve the precision of calculatingthe rotation center point.

Second Embodiment

A second embodiment of the present invention is described as followswith reference to FIGS. 1 and 4. FIG. 4 is a schematic diagram showing amethod for calculating an axis of rotation connecting the rotationcenter points of two opposite planes of rotation according to the secondembodiment.

In the present embodiment, the same components as those in the firstembodiment will be referred to with the same numerals as those in thefirst embodiment and not described in detail again. Similar to roboticsystem 400 of the first embodiment, robotic system 402 includes robotcontroller 301 which controls manipulator 101.

Robotic system 402 of the present embodiment can calculate rotationcenter points 113 and 216 of two opposite planes of rotation 106 and 203which hold a workpiece together. Robotic system 402 can also calculateaxis of rotation 217 connecting rotation center points 113 and 216.

In FIG. 4, manipulator 101 is used to measure the rotation center pointof plane of rotation 106 of rotary positioner 102. Rotary positioner 102is a positioning device used by placing a workpiece thereon and rotatingit. Manipulator 101 measures rotation center point 113 of plane ofrotation 106.

Plane of rotation 203 is disposed rotatably in a position facing planeof rotation 106 of rotary positioner 102. Planes of rotation 106 and 203have the same axial rotation, and plane of rotation 203 is rotated bythe rotation of plane of rotation 106.

Planes of rotation 106 and 203 have frame-like jig 218 attachedtherebetween in order to place a workpiece or the like thereon. Jig 218is supported by planes of rotation 106 and 203 and rotated by therotation of rotary positioner 102.

The following is a description of the operation for calculating rotationcenter points 113 and 216 of planes of rotation 106 and 203 of rotarypositioner 102, and the operation for calculating axis of rotation 217connecting rotation center points 113 and 216 in robotic system 402 thusstructured. FIG. 5 is a flowchart showing the operation for calculatingthe rotation center points of the planes of rotation of the rotarypositioner and the operation for calculating the axis of rotationconnecting these rotation center points according to the secondembodiment of the present invention.

Although the present invention does not limit the sequence of themeasurement, the present embodiment shows an example in which rotationcenter point 113 of plane of rotation 106 of rotary positioner 102 ismeasured first, and then rotation center point 216 of plane of rotation203 facing plane of rotation 106 is measured.

First of all, rotation center point 113 of plane of rotation 106 ofrotary positioner 102 is measured as follows.

In the same manner as in the first embodiment, rotation center point 113is measured as follows as shown in FIG. 5. Plane of rotation 106 ofrotary positioner 102 as the target to be measured is set to anarbitrary rotation angle, and the tip (end portion) of tool 105 is movedto a predetermined position on plane of rotation 106 of jig 218 which isrotated together with plane of rotation 106 of rotary positioner 102 bymoving manipulator 101 (S20). The predetermined position is a cornerpoint of jig 218 shown in FIG. 4 and referred to as a first measuringpoint.

The tip of tool 105 can be brought into contact with first measuringpoint 211 to calculate the position coordinate more accurately.

Motion controller 305 measures the coordinate of the tip position oftool 105 attached to manipulator 101 and stores it as the first locationinformation to measuring point storage 302 in robot controller 301(S22).

Then, plane of rotation 106 of rotary positioner 102 as the target to bemeasured is rotated 180 degrees (S24).

Motion controller 305 further moves the tip of tool 105 attached tomanipulator 101 to first measuring point 212 that has been rotated(S26). Motion controller 305 then measures the tip position of tool 105and stores it as second location information to measuring point storage302 (S28).

In order to simplify the explanation, jig 218 shown in FIG. 4 is in thestate before plane of rotation 106 of rotary positioner 102 is rotated180 degrees (the state shown in Step S22) although jig 218 is actuallyin a different state after the 180 degree rotation.

The following is a description of measuring rotation center point 216 ofplane of rotation 203, which is opposite to plane of rotation 106 ofrotary positioner 102.

Similar to the measurement of rotation center point 113 of plane ofrotation 106 of rotary positioner 102, plane of rotation 203 of rotarypositioner 102 as the target to be measured is set to an arbitraryrotation angle (S32). This arbitrary rotation angle is not necessarilythe same as the angle when first measuring points 211 and 212 aremeasured in Steps S22 and S28.

Then, manipulator 101 is moved to a corner point of jig 218, which isrotated together with plane of rotation 203. The corner point is onplane of rotation 203 and referred to as second measuring point 214(S34).

Motion controller 305 measures the tip position of tool 105 attached tomanipulator 201 (S36), and stores it as third location information tomeasuring point storage 302.

Next, plane of rotation 106 of rotary positioner 102 is rotated torotate opposite plane of rotation 203 by 180 degrees (S38).

The tip of tool 105 is further moved to second measuring point 215 ofplane of rotation 203 thus rotated (S40). Motion controller 305 measuresthe tip position of tool 105 (S42) and stores it as fourth locationinformation to measuring point storage 302.

Correction amount calculator 303 in robot controller 301 calculatesrotation center point 113 of plane of rotation 106 and rotation centerpoint 216 of plane of rotation 203 as follows.

Correction amount calculator 303 first calculates a point bisecting thefollowing straight line as rotation center point 113 of plane ofrotation 106 of rotary positioner 102. The straight line connects theposition coordinate (the first location information, or the positioncoordinate of first measuring point 211) of the tip position of tool 105that has been measured and stored in measuring point storage 302 in StepS22 and the position coordinate (the second location information, or theposition coordinate of first measuring point 212) of the tip position oftool 105 that has been measured and stored in measuring point storage302 in Step S28. Correction amount calculator 303 then stores thelocation information of rotation center point 113 to correction amountstorage 304.

Correction amount calculator 303 then calculates a point bisecting thefollowing straight line as rotation center point 216 of plane ofrotation 203. The straight line connects the position coordinate (thethird location information, or the position coordinate of secondmeasuring point 214) of the tip position of tool 105 that has beenmeasured and stored in measuring point storage 302 in Step S36 and theposition coordinate (the fourth location information, or the positioncoordinate of second measuring point 215) of the tip position of tool105 that has been measured and stored in measuring point storage 302 inStep S42. Correction amount calculator 303 then stores the locationinformation of rotation center point 216 to correction amount storage304 (S44).

Next, working as an axis-of-rotation calculator, correction amountcalculator 303 calculates the straight line connecting rotation centerpoint 113 of plane of rotation 106 of rotary positioner 102 calculatedin Step S44 and rotation center point 216 of plane of rotation 203. Thestraight line corresponds to the axis of rotation 217 of rotarypositioner 102 (S46). The information showing the coordinate of axis ofrotation 217 calculated by correction amount calculator 303 is stored incorrection amount storage 304.

As described hereinbefore, robotic system 402 of the present embodimentcalculates an axis of rotation more simply and more precisely than theconventional method by calculating rotation center points 113 and 216 ofplanes of rotation 106 and 203 disposed opposite to each other in thepositioning device and then by connecting rotation center points 113 and216 to form a straight line as the axis of rotation 217.

In the present embodiment, first measuring points 211 and 212, andsecond measuring points 214 and 215 are regarded as the corner points onplane of rotation 106 and plane of rotation 203, respectively. However,the present invention is not limited to this example. Regarding twodifferent arbitrary points on jig 218 as the first measuring point andthe second measuring point allows the calculation of the axis ofrotation although it does not allow the calculation of the rotationcenter point of plane of rotation.

In the case where it is necessary to correct the motion of manipulator101 of robotic system 402, as shown by the dotted-line square of FIG. 5,correction amount calculator 303 determines the amount of misalignmentbetween rotation center point 113 of plane of rotation 106 of rotarypositioner 102 that has been measured as above and the rotation centerpoint of plane of rotation 106 that has been previously provided torobot controller 301 (S48). Correction amount calculator 303 then storesthe amount of misalignment to correction amount storage 304 (S50).Correction amount calculator 303 also determines the amount ofmisalignment between rotation center point 216 of plane of rotation 203measured as above and the rotation center point of plane of rotation 203that has been previously provided to robot controller 301 (S48), andstores the amount of misalignment to correction amount storage 304(S50). The information (amount of correction) stored in correctionamount storage 304 can be used to correct the motion of manipulator 101of robotic system 402. Such correction improves the precision ofcontrolling robotic system 402.

In the example of the present embodiment, rotation center points 113 and216 of planes of rotation 106 and 203 and axis of rotation 217 aredetermined by measuring the coordinates of the corner points of jig 218attached to planes of rotation 106 and 203. However, the presentinvention is not limited to this example. Similar to the firstembodiment, it is possible to provide a mark on each of planes ofrotation 106 and 203 and to measure the position coordinates of themarks so as to determine the rotation center point of each plane ofrotation.

Third Embodiment

A third embodiment of the present invention is described as follows withreference to FIG. 6. FIG. 6 shows the structure of robotic system 404according to the third embodiment. In the present embodiment, the samecomponents as those in the first and second embodiments will be referredto with the same numerals as those in the first and second embodimentsand not described in detail again.

Robotic system 404 of the present embodiment differs from robotic system400 of the first embodiment and robotic system 402 of the secondembodiment in that the operating program of robotic system 404 can becorrected using simulation function based on the amount of correctioncalculated by the methods described in the first and second embodiments.

As shown in FIG. 6, robotic system 404 includes manipulator 101, robotcontroller 301, and simulation equipment 311, which generates anoperating program to be used in robot controller 301 by simulation.

Robot controller 301 includes operating program storage 318 in additionto measuring point storage 302, correction amount calculator 303,correction amount storage 304, and motion controller 305 described inthe first and second embodiments. Operating program storage 318 storesthe operating program generated by simulation equipment 311.

Motion controller 305 controls the motion of manipulator 101 byexecuting the operating program stored in operating program storage 318.

Simulation equipment 311 is provided separately from robot controller301 and includes correction amount take-in unit 312, correction amountstorage 315, simulation calculator 316, and operating program storage317. Correction amount take-in unit 312 takes in the amount ofcorrection from robot controller 301. Correction amount storage 315stores the amount of correction, which has been taken in by correctionamount take-in unit 312. Simulation calculator 316 performs at least oneof simulation calculation and off-line teaching in order to control atleast one of manipulator 101 and rotary positioner 102 based on theamount of correction stored in correction amount storage 315. Operatingprogram storage 317 stores the operating program, which has beengenerated as a result of the calculation by simulation calculator 316.

Simulation equipment 311 takes in the information (correctioninformation) indicating the amount of correction stored in correctionamount storage 304 of robot controller 301 via correction amount take-inunit 312, and stores it to correction amount storage 315. The correctioninformation stored in correction amount storage 315 is taken in bysimulation calculator 316, which performs at least one of robot motionsimulation and off-line teaching

In the present embodiment, simulation calculator 316 uses the correctioninformation thus taken into simulation equipment 311 when performingsimulation calculation. This makes it possible to correct thearrangement and inclination of the rotary positioner expressed onthree-dimensional coordinates in simulation equipment 311, therebyreducing the inclination misalignment and position misalignment betweenthe rotary positioner in virtual-reality world and the rotary positionerin the actual layout. Thus, the present embodiment enables simulationcalculation and off-line teaching to be performed with high precision.

Then, simulation equipment 311 of robotic system 404 stores theoperating program, which has been generated as a result of suchsimulation calculation or off-line teaching with high precision, tooperating program storage 317. The control program prior to thecorrection can be transmitted from robot controller 301 to simulationequipment 311 so as to correct the operating program by simulationequipment 311. Alternatively, instead of transmitting the controlprogram from robot controller 301, the operating program may bepreviously stored in simulation equipment 311 and corrected by it.

Robot controller 301 takes the control program of robotic system 404stored in operating program storage 317 of simulation equipment 311 intooperating program storage 318 of robot controller 301. Motion controller305 in robot controller 301 reads and executes the control programstored in operating program storage 318, thereby controlling the motionof at least one of manipulator 101 and rotary positioner 102.

As described hereinbefore, in the present embodiment, manipulator 101and rotary positioner 102 in the actual layout can be moved inaccordance with the operating program that has undergone the simulationcalculation and off-line teaching with high precision, thereby havinghigher operating precision.

Fourth Embodiment

A fourth embodiment of the present invention is described as followswith reference to FIG. 7. FIG. 7 shows the structure of robotic system406 according to the fourth embodiment. In robotic system 406 of FIG. 7,the same components as those in robotic system 404 of the thirdembodiment will be referred to with the same numerals as those in thethird embodiment and not described in detail again.

Robotic system 406 of the present embodiment differs from robotic system404 of the third embodiment in that the amount of correction iscalculated not in robot controller 301 but in simulation equipment 311.

As shown in FIG. 7, robotic system 406 includes manipulator 101, robotcontroller 301, and simulation equipment 311.

Robot controller 301 includes measuring point storage 302, motioncontroller 305, and operating program storage 318.

Simulation equipment 311 includes measuring point take-in unit 313,correction amount calculator 314, correction amount storage 315,simulation calculator 316, and operating program storage 317. Measuringpoint take-in unit 313 takes in the information about the measuringpoint measured in robot controller 301. The information indicates themeasured results of the coordinates of mark 108, first and secondmeasuring points 211 and 214, and the like. Correction amount calculator314 calculates the rotation center point of a plane of rotation, theaxis of rotation, and the like by using the information about themeasuring point taken in by measuring point take-in unit 313. Correctionamount storage 315 stores the calculation results of correction amountcalculator 314. Simulation calculator 316 executes at least one ofsimulation calculation and off-line teaching in order to move at leastone of manipulator 101 and rotary positioner 102, based on theinformation stored in correction amount storage 315. Operating programstorage 317 stores the operating program generated as a result of thecalculation by simulation calculator 316.

Simulation equipment 311 obtains the information about the measuringpoint from measuring point storage 302 in robot controller 301 viameasuring point take-in unit 313. Correction amount calculator 314calculates the correction information and stores the calculatedcorrection information to correction amount storage 315.

Simulation calculator 316 performs simulation and off-line teaching byusing the correction information, and stores the control program of atleast one of manipulator 101 and rotary positioner 102 to operatingprogram storage 317. Robot controller 301 takes in the operating programstored in operating program storage 317 so as to control manipulator 101and the like.

As described hereinbefore, in the present embodiment, robot controller301 does not have the function of calculating the amount of correction,but simulation equipment 311 is provided with this function. Thisenables manipulator 101 and rotary positioner 102 in the actual layoutto be moved based on the operating program that has undergone simulationor off-line teaching with high precision, thereby having higheroperating precision.

Fifth Embodiment

A fifth embodiment of the present invention is described as follows withreference to FIG. 8. FIG. 8 shows the structure of robotic system 408according to the fifth embodiment.

In FIG. 8, the same components as those in the third and fourthembodiments will be referred to with the same numerals as those in thethird and fourth embodiments and not described in detail again.

Robotic system 408 of the present embodiment differs from robotic system404 of the third embodiment in that (i) robotic system 408 does not havesimulation equipment 311, (ii) simulation calculator 316 is provided inrobot controller 301, and (iii) at least one of manipulator 101 androtary positioner 102 is controlled in robot controller 301 byperforming simulation and teaching using the correction information.

The present embodiment is identical to the third embodiment in that inrobot controller 301, the correction information is calculated bycorrection amount calculator 303 based on the information stored inmeasuring point storage 302, and then stored in correction amountstorage 304.

Motion controller 305 includes simulation calculator 316. Simulationcalculator 316 can correct the arrangement and inclination of the rotarypositioner in the virtual-reality world, which are expressed for exampleon three-dimensional coordinates, by the correction information. Roboticsystem 408 performs simulation and off-line teaching with high precisionby reducing the position misalignment and inclination misalignmentbetween the rotary positioner in virtual-reality world and the rotarypositioner in the actual layout.

As described hereinbefore, in the present embodiment, robot controller301 has the simulation function, making it possible to performsimulation and off-line teaching with high precision without providingsimulation equipment 311 separate from robot controller 301. This allowshigh-precision motion of manipulator 101, and the like.

As described hereinbefore, the present invention has the effect ofcalculating the rotation center point of a rotor or the axis of rotationconnecting the rotation center points of two rotors without using anexternal device such as a photographic device. This make the presentinvention useful as a method for calculating at least one of therotation center point of a rotor and the axis of rotation connecting therotation center points of two rotors by using a manipulator.

1. A method for calculating a rotation center point on a plane ofrotation of a positioning device by using a manipulator, the positioningdevice positioning a workpiece by rotating the plane of rotation, themethod comprising: setting a mark on a predetermined position on theplane of rotation; obtaining first location information of the mark byusing the manipulator, such that the first location information isobtained based on a first tip position of a tip of a tool that is forprocessing the workpiece and that is held by the manipulator, rotatingthe plane of rotation of the positioning device 180 degrees; obtainingsecond location information of the mark on the 180-degree rotated planeof rotation by using the manipulator, such that the second locationinformation is obtained based on a second tip position of the tip of thetool of the manipulator; and calculating a point bisecting a straightline, as the rotation center point on the plane of rotation of thepositioning device, the point being calculated based on the firstlocation information and the second location information, the straightline connecting the position of the mark on the plane of rotation priorto the rotating of the plane of rotation and the position of the mark onthe 180-degree rotated plane of rotation.
 2. A method for generating aprogram for moving at least one of a manipulator holding a tool forprocessing a workpiece and a positioning device, the positioning devicepositioning the workpiece by rotating a plane of rotation of thepositioning device, the method comprising; comparing first center pointlocation information, which indicates a rotation center point on theplane of rotation of the positioning device, contained in the programwith second center point location information, which indicates therotation center point on the plane of rotation of the positioningdevice, calculated according to the method for calculating the rotationcenter point of claim 1; and generating a new operating program bycorrecting the program based on a result of the comparing of the firstcenter point location information and the second center point locationinformation.
 3. A method for calculating an axis of rotation connectinga first rotation center point on a first plane of rotation of apositioning device and a second rotation center point on a second planeof rotation of the positioning device by using a manipulator, thepositioning device positioning a workpiece by rotating the first planeof rotation and the second plane of rotation, the first plane ofrotation and the second plane of rotation being disposed to oppose oneanother, the method comprising: obtaining first location information ofa first measuring point on the first plane of rotation by using themanipulator, such that the first location information is obtained basedon a first tip position of a tip of a tool that is for processing theworkpiece and that is held by the manipulator; rotating the first planeof rotation of the positioning device 180 degrees; obtaining secondlocation information of the first measuring point on the 180-degreerotated first plane of rotation by using the manipulator, such that thesecond location information is obtained based on a second tip positionof the tip of the tool of the manipulator; calculating a first pointbisecting a first straight line, as the first rotation center point onthe first plane of rotation, the first point being calculated based onthe first location information and the second location information, thefirst straight line connecting the first measuring point on the firstplane of rotation prior to the rotating of the first plane of rotationand the first measuring point on the 180-degree rotated first plane ofrotation; obtaining third location information of a second measuringpoint on the second plane of rotation by using the manipulator, suchthat the third location information is obtained based on a third tipposition of the tip of the tool of the manipulator; rotating the secondplane of rotation of the positioning device 180 degrees; obtainingfourth location information of the second measuring point on the180-degree rotated second plane of rotation by using the manipulator,such that the fourth location information is obtained based on a fourthtip position of the tip of the tool of the manipulator; calculating asecond point bisecting a second straight line, as the second rotationcenter point on the second plane of rotation, the second point beingcalculated based on the third location information and the fourthlocation information, the second straight line connecting the secondmeasuring point on the second plane of rotation prior to the rotating ofthe second plane of rotation and the second measuring point on the180-degree rotated second plane of rotation; and calculating the axis ofrotation connecting the calculated first rotation center point on thefirst plane of rotation and the calculated second rotation center pointon the second plane of rotation.
 4. A robotic system for calculating arotation center point on a plane of rotation of a positioning device,the positioning device positioning a workpiece by rotating the plane ofrotation, the robotic system comprising: a manipulator holding a toolfor processing the workpiece; a motion controller for (i) obtainingfirst location information of a mark set on the plane of rotation byusing the manipulator, such that the first location information isobtained based on a first tip position of a tip of the tool held by themanipulator, (ii) rotating the plane of rotation of the positioningdevice 180 degrees, and (iii) obtaining second location information ofthe mark on the 180-degree rotated plane of rotation by using themanipulator, such that the second location information is obtained basedon a second tip position of the tip of the tool held by the manipulator;and a rotation center point calculator for calculating a positionbisecting a straight line, as the rotation center point on the plane ofrotation of the positioning device, the point being calculated based onthe first location information and the second location information, thestraight line connecting the mark on the plane of rotation prior to therotating of the plane of rotation and the mark on the 180-degree rotatedplane of rotation.
 5. The robotic system of claim 4 further comprising asimulation calculator, the simulation calculator performing at least oneof simulation calculation and off-line teaching, based on a positioncoordinate of the rotation center point on the plane of rotation of thepositioning device, the position coordinate having been calculated bythe rotation center point calculator.
 6. The robotic system of claim 5comprising: a robot controller including the motion controller; andsimulation equipment including the simulation calculator.
 7. The roboticsystem of claim 6, wherein the robot controller includes the rotationcenter point calculator.
 8. The robotic system of claim 6, wherein thesimulation equipment includes the rotation center point calculator.
 9. Arobotic system for calculating an axis of rotation connecting a firstrotation center point on a first plane of rotation of a positioningdevice and a second rotation center point on a second plane of rotationof the positioning device, the positioning device positioning aworkpiece by rotating the first plane of rotation and the second planeof rotation, the first plane of rotation and the second plane ofrotation being disposed to oppose one another, the robotic systemcomprising: a manipulator holding a tool for processing the workpiece; amotion controller for (i) obtaining first location information of afirst measuring point on the first plane of rotation by using themanipulator, such that the first location information is obtained basedon a first tip position of a tip of the tool held by the manipulator,(ii) rotating the first plane of rotation of the positioning device 180degrees, (iii) obtaining second location information of the firstmeasuring point on the 180-degree rotated first plane of rotation byusing the manipulator, such that, the second location information isobtained based on a second tip position of the tip of the tool held bythe manipulator, (iv) obtaining third location information of a secondmeasuring point on the second plane of rotation by using themanipulator, such that the third location information is obtained basedon a third tip position of the tip of the tool held by the manipulator,(v) rotating the second plane of rotation of the positioning device 180degrees, and (vi) obtaining fourth location information of the secondmeasuring point on the 180-degree rotated second plane of rotation byusing the manipulator, such that the fourth location information isobtained based on a fourth tip position of the tip of the tool of themanipulator; and an axis-of-rotation calculator for calculating: a firstpoint bisecting a first straight line, as the first rotation centerpoint on the first plane of rotation, the first point being calculatedbased on the first location information and the second locationinformation, the first straight line connecting the first measuringpoint on the first plane of rotation prior to the rotating of the firstplane of rotation and the first measuring point on the 180-degreerotated first plane of rotation; a second point bisecting a secondstraight line, as the second rotation center point on the second planeof rotation, the second point being calculated based on the thirdlocation information and the fourth location information, the secondstraight line connecting the second measuring point on the second planeof rotation prior to the rotating of the second plane of rotation andthe second measuring point on the 180-degree rotated second plane ofrotation; and the axis of rotation connecting the calculated firstrotation center point on the first plane of rotation and the calculatedsecond rotation center point on the second plane of rotation.